1) Field of the Invention
The present invention relates to a data management apparatus for managing at least one managed object (MO) stored as at least one persistent object in a data storing system. The present invention also relates to a data storage and management process for storing and managing an object as a persistent object in the data storing system. In particular, the present invention is suitable for use in management of objects (MOs) in an information management system which is realized by using the object-oriented technology.
2) Description of the Related Art
Recent information management systems using the object-oriented technology handle great amounts of data having different structures which are respectively defined by individual users. Therefore, such information management systems are required to flexibly handle and efficiently process the differently structured data so as to manage data contained in a plurality of managed objects in consideration of complexity of required operations.
FIG. 18 is a diagram illustrating an outline of an information management system. The information management system 1 illustrated in FIG. 1 is provided for managing a communication system. In the example of FIG. 18, the managed communication system contains a group 7 of network elements 7-1, 7-2, . . . 7-n, and is connected to the information management system 1 through a data communication network 6. In order to issue manipulation requests to the information management system 1, an upper level system group 3 is connected to the information management system 1 through another data communication network 2. In the upper level system group 3, each of a plurality of computers 3-1, 3-2, . . . 3-nxe2x80x2 functions as a client. In addition, a group 5 of graphical user interface (GUI) terminals 5-1, 5-2, . . . 5-nxe2x80x3 is connected to the information management system 1 through a local area network (LAN) 4. Each of the graphical user interface (GUI) terminals 5-1, 5-2, . . . 5-nxe2x80x3 is a computer, which also functions as a client, communicates with the information management system 1 in accordance with the TCP/IP protocol, and issues manipulation requests to the information management system 1.
The information management system 1 comprises a computer 1-1 and a database (DB) 1-2. A system program for realizing the information management system 1 is installed in the computer 1-1. The system program realizes two objects, a resource manager (RM) 1-3 and a persistent object service (POS) 1-4. The resource manager 1-3 is provided for managing data stored in the database 1-2, and the persistent object service 1-4 is provided for performing manipulations data in the database 1-2. The resource manager 1-3 manages data relating to the network elements 7-1, 7-2, . . . 7-n and information used for responding to requests by the upper level system group 3 and the graphical user interface (GUI) terminals 5-1, 5-2, . . . 5-nxe2x80x3, where the data relating to the network elements are necessary for managing and controlling the respective network elements 7-1, 7-2, . . . 7-n. The above data and information for management and control of the network elements 7-1, 7-2, . . . 7-n are stored by the persistent object service 1-4 in the database 1-2 as managed objects, and are maintained in the database 1-2 as persistent objects. The data and information for management and control of the network elements 7-1, 7-2, . . . 7-n (hereinafter called management information) include information relating to connection and establishment of circuits, monitoring of transmission lines and transmission devices for failures, control of switching of transmission lines in the case of failure, and the like.
FIG. 19 is a diagram illustrating details of a conventional construction of the information management system, which manages objects (called managed objects) in the database 1-2 as persistent objects. In addition to the above-mentioned functions, the resource manager 1-3 functions as an interface with the aforementioned clients (i.e., client applications). As mentioned above, the computers 3-1, 3-2, . . . 3-nxe2x80x2 in the upper level system group 3 and the graphical user interface (GUI) terminals 5-1, 5-2, . . . 5-nxe2x80x3 in the group 5 are the clients. The persistent object service 1-4 contains a persistent query manager (PQM) 1-5, which functions as an interface with the resource manager 1-3.
In the construction of FIG. 19, each of the managed objects (MO) may contain as attribute complex data which is comprised of a plurality of data elements, such as a structure containing a plurality of members (defined in the programming languages C and C++). For example, a structure is declared as follows.
In the conventional data management apparatus, the database 1-2 stores the respective members in the structure in a main table T1 as illustrated in FIG. 19. That is, the main table T1 contains a distinguish name (DN) and attributes for each managed object, and data of all of the attributes are included in the main table T1. In addition, the resource manager 1-3 contains an attribute management table T2, which contains as table elements an attribute name, a data type or data structure, and the number of members of each structure.
When a client issues a request for manipulation of a managed object stored in the database 1-2, the resource manager 1-3 receives the request, and determines one of the attributes of the managed object of which the manipulation is requested to be performed. Since complex data (e.g., a structure) per se cannot be treated as an attribute in the database 1-2, the complex data must be decomposed into data elements (e.g., members of the structure) each being a basic data type (i.e., integer, floating point number, character, or the like) before performing manipulation of data in the database 1-2, and the resource manager 1-3 is required to recognize data types of respective data elements of the complex data (members of the structure). Therefore, the resource manager 1-3 determines whether or not the attribute of which the manipulation is requested to be performed contains complex data. When the resource manager 1-3 determines that the attribute of which the manipulation is requested to be performed contains complex data, the resource manager 1-3 refers to the attribute management table T2, decomposes the complex data into data elements each being a basic data type, and requests the persistent query manager 1-5 to perform the requested manipulation of the data elements (e.g., members of the structure) each being a basic data type. The persistent object service 1-4 queues manipulation requests received from the resource manager 1-3, and passes the manipulation requests to the persistent query manager 1-5 one by one. The persistent query manager 1-5 translates the passed manipulation request (including its manipulation condition) into a query language, and performs the requested manipulation of the database 1-2. When the persistent query manager 1-5 receives a response in the query language from the database 1-2, the persistent query manager 1-5 translates the response into a form which can be recognized by the resource manager 1-3. When the resource manager 1-3 receives the response, the resource manager 1-3 composes data elements (members) each being a basic data type in the response, into the form of complex data, and sends the complex data to the client.
In addition, in the case wherein the persistent query manager 1-5 receives manipulation requests from more than one resource manager, the persistent query manager 1-5 also translates the manipulation requests and performs the requested manipulation of the database 1-2, one by one.
As described above, when a managed object contains complex data as an attribute, the database 1-2 can handle the complex data only as a plurality of decomposed data elements each being a basic data type. Therefore, when a managed object contains complex data as an attribute, the substantial number of attributes for each managed object included in the main table T1 in the database 1-2 becomes great. In addition, in order to decompose every complex data into data elements, the resource manager 1-3 is required to recognize all of the complex data (e.g., structures).
Therefore, the incapability of handling complex data in the database increases processing load imposed on the resource manager, and further affects the condition for receiving the manipulation requests from clients. In addition, the resource manager has to wait for completion of the operation of the previous request in the persistent query manager before passing a new request for manipulation to the persistent query manager. Therefore, processing is delayed.
The object of the present invention is to provide a data management apparatus which enables efficient storage and management of an object as a persistent object in a database even when the object contains complex data as an attribute.
(1) According to the first aspect of the present invention, there is provided a data management apparatus for managing at least one managed object stored as at least one persistent object in a data storing system. The data management apparatus contains a complexity information holding unit which holds information on complexity of data of each of at least one attribute of the at least one managed object; a first request receiving unit which receives a request for manipulation of data of one of the at least one attribute of the at least one managed object; a complex data determining unit which refers to the complexity information holding unit to determine whether or not the data of the said one of the at least one attribute is complex data; and a manipulation performing unit which performs the manipulation requested by the request on a first table when the data of the said one of the at least one attribute of which the manipulation is requested by the request is not complex data, and performs the manipulation requested by the request on a second table when the data of the said one of the at least one attribute of which the manipulation is requested by the request is complex data, where the first table contains uncomplex data included in the at least one managed object, the second table contains complex data included in the at least one managed object, and the first and second tables are stored in the data storing system.
The data management apparatus according to the first aspect of the present invention may have the following additional features.
(i) The second table may be provided for each type of structure of the complex data.
(ii) The manipulation performing unit may translate the request into a query language which can be recognized by a database system when the data storing system is realized by the database system.
(iii) An identifier may be assigned to each of the at least one attribute of the at least one managed object when the each of the at least one attribute contains complex data, and the first and second tables may be related with each other by using the identifier.
(iv) The manipulation performing unit may contain a first manipulation unit which performs the manipulation requested by the request on the first table, and a second manipulation unit which performs the manipulation requested by the request on the second table.
(v) The data management apparatus according to the first aspect of the present invention may further contain at least one manipulation object each of which is provided for a specific type of data structure of complex data, and assists the manipulation performing unit in the manipulation when the said one of the at least one attribute contains complex data having the specific type of data structure; and a manipulation object table which indicates one of the at least one manipulation object for use in manipulation of complex data of an attribute having each data structure.
(vi) The data management apparatus according to the first aspect of the present invention may further contain a generation unit which creates a thread, and generates a manipulation unit as a portion of the manipulation performing unit when one of the first and at least one second request receiving units receives a request for manipulation on an attribute of one of the at least one managed object, where the manipulation unit performs the manipulation of the attribute of one of the at least one managed object.
(vii) The data management apparatus according to the first aspect of the present invention may further contain a generation unit which generates the manipulation performing unit when the first request receiving unit receives the request.
(viii) In addition to the above additional feature (vii), the manipulation performing unit may contain at least one manipulation object each of which is provided for a specific type of data structure of complex data, and performs the manipulation when the said one of the at least one attribute contains complex data having the specific type of data structure; and a manipulation object table which indicates one of the at least one manipulation object for use in manipulation of complex data of an attribute having each data structure.
(ix) The data management apparatus according to the first aspect of the present invention may further contain at least one second request receiving unit each of which receives a request for manipulation of one of the at least one attribute of the at least one managed object, and the first and at least one second request receiving units receive the requests from a plurality of clients.
(x) The first table may be provided corresponding to each of the first and at least one second request receiving units.
(xi) A data management apparatus according to the first aspect of the present invention may further contain a condition translation unit which translates information on a condition on the manipulation into a query language which can be recognized by a database system when the data storing system is realized by the database system, and the condition is included in the request received by the first request receiving unit.
(xii) A data management apparatus according to the first aspect of the present invention may further contain a generation unit which generates a condition translation unit when the request includes information on a condition on the manipulation requested to be performed on the said one of the at least one managed object, where the condition translation unit translates the information on the condition into a query language which can be recognized by a database system when the data storing system is realized by the database system.
(xiii) A data management apparatus according to the first aspect of the present invention may further contain a filter processing unit which performs a filtering operation on the data stored in the data storing system, based on a condition on the manipulation, when the data storing system is not realized by the database system, and the condition is included in the request received by the first request receiving unit.
(2) According to the second aspect of the present invention, there is provided a data storage and management process for storing and managing data of at least one attribute of an object as a persistent object in a data storing system. The process includes the steps of (a) receiving a request for storing the data of the at least one attribute of the object; (b) recording information on complexity of data of each of the at least one attribute of the object; and (c) storing the data of said each of the at least one attribute of the object in a first table in the data storing system when the data of said each of the at least one attribute of the object is not complex data, and storing the data of said each of the at least one attribute of the object in a second table in the data storing system when the data of said each of the at least one attribute of the object is complex data.
Therefore, the complexity information holding unit and the first and second tables in the data management apparatus according to the first aspect of the present invention can be produced by executing the process according to the second aspect of the present invention.
(3) According to the third aspect of the present invention, there is provided a data storage and management process for storing and managing complex data of an attribute of an object as a persistent object in a data storing system, where the complex data is comprised of a plurality of data elements having an identical data type. The process includes the steps of (a) storing an identifier of the complex data instead of the attribute of the object in a first table; and (b) storing the plurality of data elements with the identifier of the complex data in a second table.
In the data management apparatus according to the third aspect of the present invention, the plurality of data elements may be stored in the second table successively with consecutive numbers.
(4) According to the fourth aspect of the present invention, there is provided a data storage and management process for storing and managing a data set each being comprised of at least one complex data item having identical data structure, as an attribute of a persistent object, in a data storing system, where each of the at least one complex data item is comprised of a plurality of data elements each having a data type. The process includes the steps of (a) storing an identifier of the data set instead of the attribute of the persistent object in a first table; and (b) storing the plurality of data elements of the at least one complex data item of the data set with the identifier of the data set in a second table which is provided for each data structure.
The data storage and management process according to the fourth aspect of the present invention may have the following additional features.
(i) The at least one complex data item may be stored in the second table successively, together with at least one consecutive number assigned to the at least one complex data item.
(ii) The at least one complex data item may be stored in the second table with a value indicating that the at least one complex data item includes only one complex data item, when the number of the at least one complex data item is one.
(5) According to the fifth aspect of the present invention, there is provided a data management apparatus for managing data of an object stored as a persistent object in a data storing system which has no available filtering function. The data management apparatus contains a resource management unit which functions as an interface with a client application, and receives a request for manipulation of the object, from the client application, where the request includes information on a filtering condition which is to be satisfied in the manipulation; and a manipulating unit which performs the manipulation of the object, where the manipulation includes a filtering operation in accordance with the filtering condition.
(6) According to the sixth aspect of the present invention, there is provided a product for use with a data management apparatus for managing at least one managed object stored as at least one persistent object in a data storing system, where the product, when used with the data management apparatus, is able to output control information which directs the data management apparatus so as to realize the data management apparatus according to the first aspect of the present invention.
(7) According to the seventh aspect of the present invention, there is provided a product for use with a data management apparatus for managing at least one managed object stored as at least one persistent object in a data storing system, where the product, when used with the data management apparatus, is able to output control information which directs the data management apparatus to execute the process according to the second aspect of the present invention.
(8) According to the eighth aspect of the present invention, there is provided a product for use with a data storage and management apparatus for storing and managing complex data of an attribute of an object as a persistent object in a data storing system, where the complex data is comprised of a plurality of data elements having an identical data type, where the product, when used with the data storage and management apparatus, is able to output control information which directs the data storage and management apparatus to execute the process according to the third aspect of the present invention.
(9) According to the eighth aspect of the present invention, there is provided a product for use with a data storage and management apparatus for storing and managing a data set each being comprised of at least one complex data item having identical data structure, as an attribute of a persistent object, in a data storing system, where each of the at least one complex data item is comprised of a plurality of data elements each having a data type, where the product, when used with the data storage and management apparatus, is able to output control information which directs the data storage and management apparatus to execute the process according to the fourth aspect of the present invention.
(10) According to the eighth aspect of the present invention, there is provided a product for use with a data management apparatus for managing data of an object stored as a persistent object in a data storing system which has no available filtering function, where the product, when used with the data management apparatus, is able to output control information which directs the data management apparatus to realize the data management apparatus according to the fifth aspect of the present invention.
The above and other objects, features and advantages of the present invention will become apparent from the following description when taken in conjunction with the accompanying drawings which illustrate preferred embodiment of the present invention by way of example.